﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;


public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {

        if (!IsPostBack)
        {
            CartData cart = CartData.getCartFromSession(Page);
            CartData.saveCartToSession(Page,cart);

            if (!Master.CheckLogin())
            {
                cart.reset();
                CartData.saveCartToSession(Page, cart);
            }
           
        }//end if
        if (categorySearchDropDownList.SelectedIndex > -1)
        {
            if (categorySearchDropDownList.SelectedItem.Text.CompareTo("All") == 0)
            {
                bookDataSource.FilterExpression = "";
            }//end if
            else
            {
                bookDataSource.FilterExpression = "Category = '{0}'";
            }//end else
        }//end if


    }//end Page_Load


    protected void addButton_Command(object sender, CommandEventArgs e)
    {
        //retrieve the cart from the Session
        CartData cart = CartData.getCartFromSession(Page);

        //get the ISBN from the CommandArgument
        string isbn = e.CommandArgument.ToString();

        //Add the item to the cart if it has not already been added
        if (!cart.exists(isbn))
        {
            cart.addItem(isbn, 1);
        }//end if

        //Save the cart back to the Session
        CartData.saveCartToSession(Page,cart);

        //go to the shopping cart.
        Response.Redirect("ShoppingCart.aspx");

    }//end addButton_Command


    protected void setGridView1AddButtons()
    {
        foreach(GridViewRow row in GridView1.Rows)
        {
            if (row.RowType == DataControlRowType.DataRow)
            {
                Control addButton = GridView1.Rows[row.RowIndex].FindControl("addButton");
                addButton.Visible = Master.CheckLogin();
            }
        }
    }
    protected void GridView1_PreRender(object sender, EventArgs e)
    {
        setGridView1AddButtons();
    }

    protected void titleLink_Command(object sender, CommandEventArgs e)
    {
        Response.Redirect("Details.aspx?isbn=" + e.CommandArgument.ToString());
    }

}
